package com.wyzz.hr.pojo.base;

import java.io.Serializable;
import java.util.Date;

import com.wyzz.hr.pojo.Department;
import com.wyzz.hr.pojo.Employee;
import com.wyzz.hr.pojo.Emptransfer;
import com.wyzz.hr.pojo.Emptype;
import com.wyzz.hr.pojo.PositionBase;

public abstract class BaseEmptransfer implements Serializable {

	public BaseEmptransfer() {
		hashCode = 0x80000000;
		initialize();
	}

	public BaseEmptransfer(String eftId) {
		hashCode = 0x80000000;
		setEftId(eftId);
		initialize();
	}

	protected void initialize() {
	}

	public PositionBase getEftOldPbId() {
		return eftOldPbId;
	}

	public void setEftOldPbId(PositionBase eftOldPbId) {
		this.eftOldPbId = eftOldPbId;
	}

	public PositionBase getEftNewPbId() {
		return eftNewPbId;
	}

	public void setEftNewPbId(PositionBase eftNewPbId) {
		this.eftNewPbId = eftNewPbId;
	}

	public String getEftId() {
		return eftId;
	}

	public void setEftId(String eftId) {
		this.eftId = eftId;
		hashCode = 0x80000000;
	}

	public Date getEftTransferDate() {
		return eftTransferDate;
	}

	public void setEftTransferDate(Date eftTransferDate) {
		this.eftTransferDate = eftTransferDate;
	}

	public String getEftTransferType() {
		return eftTransferType;
	}

	public void setEftTransferType(String eftTransferType) {
		this.eftTransferType = eftTransferType;
	}

	public String getEftReason() {
		return eftReason;
	}

	public void setEftReason(String eftReason) {
		this.eftReason = eftReason;
	}

	public String getEftComments() {
		return eftComments;
	}

	public void setEftComments(String eftComments) {
		this.eftComments = eftComments;
	}

	public String getEftCreateBy() {
		return eftCreateBy;
	}

	public void setEftCreateBy(String eftCreateBy) {
		this.eftCreateBy = eftCreateBy;
	}

	public Date getEftCreateDate() {
		return eftCreateDate;
	}

	public void setEftCreateDate(Date eftCreateDate) {
		this.eftCreateDate = eftCreateDate;
	}

	public Date getEftLastChangeTime() {
		return eftLastChangeTime;
	}

	public void setEftLastChangeTime(Date eftLastChangeTime) {
		this.eftLastChangeTime = eftLastChangeTime;
	}

	public String getEftLastChangeBy() {
		return eftLastChangeBy;
	}

	public void setEftLastChangeBy(String eftLastChangeBy) {
		this.eftLastChangeBy = eftLastChangeBy;
	}

	public Employee getEmployee() {
		return employee;
	}

	public void setEmployee(Employee employee) {
		this.employee = employee;
	}

	public Department getEftOldDeptNo() {
		return eftOldDeptNo;
	}

	public void setEftOldDeptNo(Department eftOldDeptNo) {
		this.eftOldDeptNo = eftOldDeptNo;
	}

	public Department getEftNewDeptNo() {
		return eftNewDeptNo;
	}

	public void setEftNewDeptNo(Department eftNewDeptNo) {
		this.eftNewDeptNo = eftNewDeptNo;
	}

	public boolean equals(Object obj) {
		if (null == obj)
			return false;
		if (!(obj instanceof Emptransfer))
			return false;
		Emptransfer emptransfer = (Emptransfer) obj;
		if (null == getEftId() || null == emptransfer.getEftId())
			return false;
		else
			return getEftId().equals(emptransfer.getEftId());
	}

	public int hashCode() {
		if (0x80000000 == hashCode) {
			if (null == getEftId())
				return super.hashCode();
			String hashStr = (new StringBuilder()).append(getClass().getName())
					.append(":").append(getEftId().hashCode()).toString();
			hashCode = hashStr.hashCode();
		}
		return hashCode;
	}

	public String toString() {
		return super.toString();
	}

	public Emptype getEftOldEmpType() {
		return eftOldEmpType;
	}

	public void setEftOldEmpType(Emptype eftOldEmpType) {
		this.eftOldEmpType = eftOldEmpType;
	}

	public Emptype getEftNewEmpType() {
		return eftNewEmpType;
	}

	public void setEftNewEmpType(Emptype eftNewEmpType) {
		this.eftNewEmpType = eftNewEmpType;
	}

	public static String REF = "Emptransfer";
	public static String PROP_EFT_ID = "eftId";
	public static String PROP_EFT_LAST_CHANGE_BY = "eftLastChangeBy";
	public static String PROP_EMPLOYEE = "employee";
	public static String PROP_EFT_TRANSFER_DATE = "eftTransferDate";
	public static String PROP_EFT_LAST_CHANGE_TIME = "eftLastChangeTime";
	public static String PROP_EFT_TRANSFER_TYPE = "eftTransferType";
	public static String PROP_EFT_COMMENTS = "eftComments";
	public static String PROP_EFT_REASON = "eftReason";
	public static String PROP_EFT_CREATE_BY = "eftCreateBy";
	public static String PROP_EFT_CREATE_DATE = "eftCreateDate";
	public static String PROP_EFT_OLD_EMP_TYPE = "eftOldEmpType";
	public static String PROP_EFT_NEW_EMP_TYPE = "eftNewEmpType";
	public static String PROP_EFT_OLD_DEPT_NO = "eftOldDeptNo";
	public static String PROP_EFT_NEW_DEPT_NO = "eftNewDeptNo";
	public static String PROP_EFT_OLD_PB_NO = "eftOldPbId";
	public static String PROP_EFT_NEW_PB_NO = "eftNewPbId";
	private int hashCode;
	private String eftId;
	private Date eftTransferDate;
	private String eftTransferType;
	private String eftReason;
	private String eftComments;
	private String eftCreateBy;
	private Date eftCreateDate;
	private Date eftLastChangeTime;
	private String eftLastChangeBy;
	private Employee employee;
	private Department eftOldDeptNo;
	private Department eftNewDeptNo;
	private Emptype eftOldEmpType;
	private Emptype eftNewEmpType;
	private PositionBase eftOldPbId;
	private PositionBase eftNewPbId;

}
